// 帮助支持页面
Page({
  data: {
    searchQuery: '',
    selectedCategory: 'all',
    
    categories: [
      { value: 'all', label: '全部' },
      { value: 'account', label: '账户相关' },
      { value: 'vision', label: '视力检测' },
      { value: 'data', label: '数据管理' },
      { value: 'social', label: '社交功能' },
      { value: 'technical', label: '技术问题' }
    ],
    
    helpItems: [
      {
        id: 1,
        category: 'account',
        title: '如何注册和登录账户？',
        summary: '详细介绍账户注册和登录流程',
        content: '1. 打开应用，点击"立即注册"\n2. 输入手机号码\n3. 获取并输入验证码\n4. 设置登录密码\n5. 完善个人信息\n6. 完成注册，使用手机号和密码登录',
        tags: ['注册', '登录', '账户'],
        views: 1250,
        helpful: 45
      },
      {
        id: 2,
        category: 'vision',
        title: '视力检测如何使用？',
        summary: '使用视力检测功能的详细步骤',
        content: '1. 进入"视力检测"页面\n2. 选择检测类型（远视力/近视力）\n3. 按照提示调整屏幕亮度\n4. 保持适当的观看距离\n5. 遮住一只眼睛开始检测\n6. 根据提示识别视标\n7. 完成双眼检测\n8. 查看检测结果',
        tags: ['视力检测', '使用教程'],
        views: 890,
        helpful: 32
      },
      {
        id: 3,
        category: 'data',
        title: '如何查看和管理我的数据？',
        summary: '数据查看、导出和管理功能说明',
        content: '1. 在"我的"页面点击"数据记录"\n2. 可以按类型筛选数据\n3. 点击具体记录查看详情\n4. 支持导出为Excel、PDF等格式\n5. 可以设置数据备份\n6. 支持数据分享给医生',
        tags: ['数据管理', '导出', '备份'],
        views: 670,
        helpful: 28
      },
      {
        id: 4,
        category: 'social',
        title: '社交功能怎么使用？',
        summary: '如何参与社区讨论和分享',
        content: '1. 进入"社交"页面\n2. 浏览其他用户的分享\n3. 点击"+"发布新动态\n4. 可以添加图片和文字\n5. 选择是否公开可见\n6. 可以点赞和评论他人动态\n7. 关注感兴趣的用户',
        tags: ['社交', '分享', '社区'],
        views: 520,
        helpful: 22
      },
      {
        id: 5,
        category: 'technical',
        title: '应用卡顿或闪退怎么办？',
        summary: '解决常见技术问题的方法',
        content: '1. 检查网络连接是否正常\n2. 清理微信缓存\n3. 重启微信应用\n4. 检查微信版本是否最新\n5. 重启手机\n6. 如问题持续，请联系客服',
        tags: ['技术问题', '故障排除'],
        views: 430,
        helpful: 18
      },
      {
        id: 6,
        category: 'account',
        title: '忘记密码怎么办？',
        summary: '密码重置和账户找回方法',
        content: '1. 在登录页面点击"忘记密码"\n2. 输入注册时的手机号\n3. 获取验证码\n4. 输入验证码验证身份\n5. 设置新密码\n6. 使用新密码登录',
        tags: ['密码重置', '账户找回'],
        views: 380,
        helpful: 15
      }
    ],
    
    filteredItems: [],
    
    // 联系方式
    contactInfo: {
      phone: '400-123-4567',
      email: 'support@visionhealth.com',
      workTime: '工作日 9:00-18:00'
    }
  },

  onLoad: function() {
    this.filterHelpItems();
  },

  // 搜索输入
  onSearchInput: function(e) {
    this.setData({
      searchQuery: e.detail.value
    });
    this.filterHelpItems();
  },

  // 选择分类
  onCategoryChange: function(e) {
    const category = e.currentTarget.dataset.category;
    this.setData({
      selectedCategory: category
    });
    this.filterHelpItems();
  },

  // 筛选帮助条目
  filterHelpItems: function() {
    const { helpItems, selectedCategory, searchQuery } = this.data;
    let filtered = helpItems;

    // 按分类筛选
    if (selectedCategory !== 'all') {
      filtered = filtered.filter(item => item.category === selectedCategory);
    }

    // 按搜索关键词筛选
    if (searchQuery.trim()) {
      const query = searchQuery.toLowerCase();
      filtered = filtered.filter(item => 
        item.title.toLowerCase().includes(query) ||
        item.summary.toLowerCase().includes(query) ||
        item.content.toLowerCase().includes(query) ||
        item.tags.some(tag => tag.toLowerCase().includes(query))
      );
    }

    this.setData({
      filteredItems: filtered
    });
  },

  // 查看帮助详情
  viewHelpDetail: function(e) {
    const item = e.currentTarget.dataset.item;
    
    // 更新浏览次数
    this.updateViews(item.id);
    
    // 显示详情弹窗
    wx.showModal({
      title: item.title,
      content: item.content,
      showCancel: false,
      confirmText: '我知道了',
      success: (res) => {
        if (res.confirm) {
          // 询问是否有帮助
          this.askIfHelpful(item.id);
        }
      }
    });
  },

  // 更新浏览次数
  updateViews: function(itemId) {
    const helpItems = this.data.helpItems.map(item => {
      if (item.id === itemId) {
        return { ...item, views: item.views + 1 };
      }
      return item;
    });
    
    this.setData({ helpItems });
    this.filterHelpItems();
  },

  // 询问是否有帮助
  askIfHelpful: function(itemId) {
    wx.showModal({
      title: '反馈',
      content: '这个回答对您有帮助吗？',
      cancelText: '没有帮助',
      confirmText: '有帮助',
      success: (res) => {
        if (res.confirm) {
          this.markAsHelpful(itemId);
        } else {
          this.showFeedbackOptions();
        }
      }
    });
  },

  // 标记为有帮助
  markAsHelpful: function(itemId) {
    const helpItems = this.data.helpItems.map(item => {
      if (item.id === itemId) {
        return { ...item, helpful: item.helpful + 1 };
      }
      return item;
    });
    
    this.setData({ helpItems });
    this.filterHelpItems();
    
    wx.showToast({
      title: '感谢您的反馈',
      icon: 'success'
    });
  },

  // 显示反馈选项
  showFeedbackOptions: function() {
    wx.showActionSheet({
      itemList: ['联系客服', '提交问题反馈', '查看更多帮助'],
      success: (res) => {
        switch (res.tapIndex) {
          case 0:
            this.contactCustomerService();
            break;
          case 1:
            this.submitFeedback();
            break;
          case 2:
            // 保持在当前页面
            break;
        }
      }
    });
  },

  // 联系客服
  contactCustomerService: function() {
    wx.showActionSheet({
      itemList: ['拨打客服电话', '发送邮件'],
      success: (res) => {
        if (res.tapIndex === 0) {
          this.makePhoneCall();
        } else if (res.tapIndex === 1) {
          this.sendEmail();
        }
      }
    });
  },

  // 拨打客服电话
  makePhoneCall: function() {
    wx.makePhoneCall({
      phoneNumber: this.data.contactInfo.phone,
      fail: (error) => {
        console.error('拨打电话失败:', error);
        wx.showToast({
          title: '拨打失败',
          icon: 'none'
        });
      }
    });
  },

  // 发送邮件
  sendEmail: function() {
    wx.setClipboardData({
      data: this.data.contactInfo.email,
      success: () => {
        wx.showToast({
          title: '邮箱地址已复制',
          icon: 'success'
        });
      }
    });
  },

  // 提交反馈
  submitFeedback: function() {
    wx.navigateTo({
      url: '/pages/feedback/index'
    });
  },

  // 获取分类标签
  getCategoryLabel: function(category) {
    const cat = this.data.categories.find(c => c.value === category);
    return cat ? cat.label : '其他';
  }
});
